<?php
require_once 'config.php';

// Dohvati ID troškovnika iz GET parametra
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
if (!$id) {
    exit("Nije odabran troškovnik za ispis.");
}

// Glavni podaci o troškovniku i pripadajući nalog
$sql = "SELECT 
            nt.id, 
            nt.broj_troskovnika, 
            nt.datum, 
            nt.napomena,
            n.broj_naloga, 
            n.godina_naloga, 
            n.mjesto_izvodjena_radova,
            n.vrijeme_pocetka, 
            n.zavrsetak_radova
        FROM nalog_troskovnik nt
        LEFT JOIN nalog n ON nt.id_nalog = n.id
        WHERE nt.id = ?";
$stmt = $conn->prepare($sql);
if (!$stmt) {
    exit("Priprema upita za glavne podatke nije uspjela: " . $conn->error);
}
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows == 0) {
    exit("Troškovnik nije pronađen.");
}
$troskovnik = $result->fetch_assoc();
$stmt->close();

// ------------------ Radnici ------------------
$radnici = [];
$sqlRadnici = "SELECT tr.*, r.ime_prezime 
               FROM troskovnik_radnici tr 
               LEFT JOIN radnici r ON tr.id_radnika = r.id 
               WHERE tr.id_troskovnika = ?";
$stmt = $conn->prepare($sqlRadnici);
if (!$stmt) {
    exit("Priprema upita za radnike nije uspjela: " . $conn->error);
}
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    $radnici[] = $row;
}
$stmt->close();

// ------------------ Vozila -------------------
$vozila = [];
$sqlVozila = "SELECT 
                tv.*, 
                v.marka,
                v.model,
                v.registarski_broj
              FROM troskovnik_vozila tv
              LEFT JOIN vozila v ON tv.id_vozila = v.id
              WHERE tv.id_troskovnika = ?";
$stmt = $conn->prepare($sqlVozila);
if (!$stmt) {
    exit("Priprema upita za vozila nije uspjela: " . $conn->error);
}
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    $vozila[] = $row;
}
$stmt->close();

// ------------------ Artikli ------------------
$artikli = [];
$sqlArtikli = "SELECT ta.*, a.naziv_artikla 
               FROM troskovnik_artikli ta 
               LEFT JOIN artikli a ON ta.id_artikla = a.sifra_artikla 
               WHERE ta.id_troskovnika = ?";
$stmt = $conn->prepare($sqlArtikli);
if (!$stmt) {
    exit("Priprema upita za artikle nije uspjela: " . $conn->error);
}
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    $artikli[] = $row;
}
$stmt->close();

// ------------------ Usluge -------------------
$usluge = [];
$sqlUsluge = "SELECT tu.*, u.naziv_usluge 
              FROM troskovnik_usluge tu 
              LEFT JOIN usluge u ON tu.id_usluge = u.id_usluge 
              WHERE tu.id_troskovnika = ?";
$stmt = $conn->prepare($sqlUsluge);
if (!$stmt) {
    exit("Priprema upita za usluge nije uspjela: " . $conn->error);
}
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    $usluge[] = $row;
}
$stmt->close();

// ------------------ Ostalo -------------------
$ostalo = [];
$sqlOstalo = "SELECT * 
              FROM troskovnik_ostalo 
              WHERE id_troskovnika = ?";
$stmt = $conn->prepare($sqlOstalo);
if (!$stmt) {
    exit("Priprema upita za ostalo nije uspjela: " . $conn->error);
}
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    $ostalo[] = $row;
}
$stmt->close();

// ------------------ Rekapitulacija -------------------
// Ako si dodao stupac 'ostalo' u tablicu rekap, uključi ga u SELECT
$rekap = null;
$sqlRekap = "SELECT radnici, vozila, artikli, usluge, ukupno, ostalo
             FROM troskovnik_rekapitulacija
             WHERE id_troskovnika = ?";
$stmt = $conn->prepare($sqlRekap);
if (!$stmt) {
    exit("Priprema upita za rekapitulaciju nije uspjela: " . $conn->error);
}
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows > 0) {
    $rekap = $result->fetch_assoc();
}
$stmt->close();

$conn->close();
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Štampanje Troškovnika</title>
    <style>
        /* Možete prilagoditi veličinu fonta za cijeli dokument */
        body {
            font-family: Arial, sans-serif;
            font-size: 12px;
            padding: 10px;
            color: #000;
        }
        h2, h3 {
            text-align: center;
            font-size: 14px;
        }
        .podaci {
            margin-bottom: 15px;
        }
        .podaci div {
            margin-bottom: 4px;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 15px;
        }
        table, th, td {
            border: 1px solid #444;
        }
        th, td {
            padding: 6px;
            text-align: left;
        }
        .narrow {
            width: 10%;
            text-align: center;
        }
        .summary {
            font-weight: bold;
            font-size: 12px;
            margin-top: 15px;
        }
        @media print {
            .no-print {
                display: none;
            }
        }
    </style>
</head>
<body>
    <!-- Gumbi za ispis i zatvaranje (na vrhu, skriveni pri ispisu) -->
    <div class="no-print" style="text-align: center; margin-bottom: 10px;">
        <button onclick="window.print()">Print</button>
        <button onclick="window.close()">Zatvori</button>
    </div>

    <h2>Troškovnik - Štampanje</h2>
    <div class="podaci">
        <div><strong>Broj troškovnika:</strong> <?php echo htmlspecialchars($troskovnik['broj_troskovnika']); ?></div>
        <div><strong>Datum troškovnika:</strong> <?php echo date('d.m.Y', strtotime($troskovnik['datum'])); ?></div>
        <div><strong>Napomena:</strong> <?php echo htmlspecialchars($troskovnik['napomena']); ?></div>
    </div>
    <hr>
    <h3>Podaci naloga</h3>
    <div class="podaci">
        <div><strong>Broj naloga:</strong> <?php echo htmlspecialchars($troskovnik['broj_naloga']); ?></div>
        <div><strong>Godina naloga:</strong> <?php echo htmlspecialchars($troskovnik['godina_naloga']); ?></div>
        <div><strong>Mjesto radova:</strong> <?php echo htmlspecialchars($troskovnik['mjesto_izvodjena_radova']); ?></div>
        <div><strong>Početak radova:</strong> <?php echo date('d.m.Y H:i', strtotime($troskovnik['vrijeme_pocetka'])); ?></div>
        <div><strong>Završetak radova:</strong> <?php echo date('d.m.Y H:i', strtotime($troskovnik['zavrsetak_radova'])); ?></div>
    </div>
    
    <!-- Radnici -->
    <h3>Radnici</h3>
    <?php if (!empty($radnici)): ?>
    <table>
        <thead>
            <tr>
                <th>Radnik</th>
                <th class="narrow">Sati</th>
                <th class="narrow">Cijena (KM)</th>
                <th class="narrow">Ukupno (KM)</th>
            </tr>
        </thead>
        <tbody>
        <?php foreach ($radnici as $r): ?>
            <tr>
                <td><?php echo htmlspecialchars($r['ime_prezime']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($r['sati']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($r['cijena']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($r['ukupno']); ?></td>
            </tr>
        <?php endforeach; ?>
        </tbody>
    </table>
    <?php else: ?>
        <p>Nema unesenih radnika.</p>
    <?php endif; ?>

    <!-- Vozila -->
    <h3>Vozila</h3>
    <?php if (!empty($vozila)): ?>
    <table>
        <thead>
            <tr>
                <th>Vozilo</th>
                <th class="narrow">Količina (sati)/Pređeno km</th>
                <th class="narrow">Cijena (KM)</th>
                <th class="narrow">Ukupno (KM)</th>
            </tr>
        </thead>
        <tbody>
        <?php foreach ($vozila as $v): ?>
            <?php
                // Sastavi naziv vozila
                $voziloString = $v['marka'] . ' ' . $v['model'] . ' (' . $v['registarski_broj'] . ')';
                // Ako je model "TERETNO", dodati "(obračun po kilometru)"
                if ($v['model'] === 'TERETNO') {
                    $voziloString .= ' (obračun po kilometru)';
                }
            ?>
            <tr>
                <td><?php echo htmlspecialchars($voziloString); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($v['sati']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($v['cijena']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($v['ukupno']); ?></td>
            </tr>
        <?php endforeach; ?>
        </tbody>
    </table>
    <?php else: ?>
        <p>Nema unesenih vozila.</p>
    <?php endif; ?>

    <!-- Artikli -->
    <h3>Artikli (Materijal)</h3>
    <?php if (!empty($artikli)): ?>
    <table>
        <thead>
            <tr>
                <th>Artikal</th>
                <th class="narrow">Količina</th>
                <th class="narrow">Cijena (KM)</th>
                <th class="narrow">Ukupno (KM)</th>
            </tr>
        </thead>
        <tbody>
        <?php foreach ($artikli as $a): ?>
            <tr>
                <td><?php echo htmlspecialchars($a['naziv_artikla']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($a['kolicina']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($a['cijena']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($a['ukupno']); ?></td>
            </tr>
        <?php endforeach; ?>
        </tbody>
    </table>
    <?php else: ?>
        <p>Nema unesenih artikala.</p>
    <?php endif; ?>

    <!-- Usluge -->
    <h3>Usluge</h3>
    <?php if (!empty($usluge)): ?>
    <table>
        <thead>
            <tr>
                <th>Usluga</th>
                <th class="narrow">Količina</th>
                <th class="narrow">Cijena (KM)</th>
                <th class="narrow">Ukupno (KM)</th>
            </tr>
        </thead>
        <tbody>
        <?php foreach ($usluge as $u): ?>
            <tr>
                <td><?php echo htmlspecialchars($u['naziv_usluge']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($u['kolicina']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($u['cijena']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($u['ukupno']); ?></td>
            </tr>
        <?php endforeach; ?>
        </tbody>
    </table>
    <?php else: ?>
        <p>Nema unesenih usluga.</p>
    <?php endif; ?>

    <!-- Ostalo -->
    <h3>Ostalo</h3>
    <?php if (!empty($ostalo)): ?>
    <table>
        <thead>
            <tr>
                <th>Opis</th>
                <th class="narrow">Cijena (KM)</th>
                <th class="narrow">Količina</th>
                <th class="narrow">Ukupno (KM)</th>
            </tr>
        </thead>
        <tbody>
        <?php foreach ($ostalo as $o): ?>
            <tr>
                <td><?php echo htmlspecialchars($o['opis']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($o['cijena']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($o['kolicina']); ?></td>
                <td class="narrow"><?php echo htmlspecialchars($o['ukupno']); ?></td>
            </tr>
        <?php endforeach; ?>
        </tbody>
    </table>
    <?php else: ?>
        <p>Nema unesenih stavki u Ostalo.</p>
    <?php endif; ?>

    <!-- Rekapitulacija -->
    <?php if (!empty($rekap)): ?>
    <div class="summary">
        <div><strong>Ukupno radnici (KM):</strong> <?php echo htmlspecialchars($rekap['radnici']); ?></div>
        <div><strong>Ukupno vozila (KM):</strong> <?php echo htmlspecialchars($rekap['vozila']); ?></div>
        <div><strong>Ukupno artikli (KM):</strong> <?php echo htmlspecialchars($rekap['artikli']); ?></div>
        <div><strong>Ukupno usluge (KM):</strong> <?php echo htmlspecialchars($rekap['usluge']); ?></div>
        <!-- Ako si u rekap tablici dodao polje 'ostalo', prikazi i to: -->
        <?php if (isset($rekap['ostalo'])): ?>
          <div><strong>Ukupno ostalo (KM):</strong> <?php echo htmlspecialchars($rekap['ostalo']); ?></div>
        <?php endif; ?>
        <div><strong>Ukupno sve (KM):</strong> <?php echo htmlspecialchars($rekap['ukupno']); ?></div>
    </div>
    <?php endif; ?>

</body>
</html>
